/*******************************************************************************
*	                           bsp.c
*******************************************************************************/
#include "bsp.h"
#include "bsp_dma.h"

/*******************************************************************************
*	                           function
*******************************************************************************/
void bsp_gpio_init(void);
void bsp_cpu_option_check(void);
void bsp_pw_delay_for_bug(void);

/*******************************************************************************
* @brief  bsp_Init : first line in first task
* \param[in] none
* \retval: none
*******************************************************************************/
void bsp_Init(void)
{
	stack_init();
	
	ccm_init();
	
	CLK_SetHCLK(CLK_CLKSEL0_HCLKSEL_HIRC, CLK_CLKDIV0_HCLK(1));
	
	bsp_pw_delay_for_bug();
	
	bsp_clk_init();
	
	bsp_cpu_option_check();
	
	bsp_gpio_init();
	
    app_tick_init(1);  
    
    bsp_uart_init();
    
    bsp_delay_init();
	
	bsp_pdma_init();
}

/*******************************************************************************
* @brief  bsp_Idle
* \param[in] none      
* \retval: none
*******************************************************************************/
void bsp_pw_delay_for_bug(void)
{
	volatile uint32_t dly = 12 * 1000 * 1000 / 12;
	while(dly --){};
}


/*******************************************************************************
* @brief  bsp_Idle
* \param[in] none      
* \retval: none
*******************************************************************************/
void bsp_Idle(void)
{

}

